using System;
using Trabalho.Comum;

namespace Trabalho.Biblioteca
{
    [Serializable]
    public class ValorCriterio : MarshalByRefObject, IValorCriterio
    {
        /**/public string valor;
        /**/public /*ICriterio*/ Criterio criterio;

        /*
         * -------------------------------------------------------- Constructores
         */

        public ValorCriterio()
        {
        }

        public ValorCriterio(ICriterio criterio)
        {
            this.criterio = (Criterio)criterio;
        }

        public ValorCriterio(ICriterio criterio, string valor)
        {
            this.valor = valor;
            this.criterio = /**/(Criterio)criterio;
        }

        /*
         * -------------------------------------------------------- Get/set
         */

        public ICriterio getCriterio()
        {
            return criterio;
        }

        public string getValor()
        {
            return valor;
        }

        public void setValor(string valor)
        {
            this.valor = valor;
        }

        /*
         * -------------------------------------------------------- Sobrepostos
         */

        public string toStr()
        {
            try
            {
                return criterio.getNome() + " : " + valor;
            }
            catch (Exception) {}
            return "";
        }
    }
}